#ifndef __c2_ctrler_SILS_h__
#define __c2_ctrler_SILS_h__

/* Include files */
#include "sf_runtime/sfc_sf.h"
#include "sf_runtime/sfc_mex.h"
#include "rtwtypes.h"
#include "multiword_types.h"

/* Type Definitions */
#ifndef typedef_SFc2_ctrler_SILSInstanceStruct
#define typedef_SFc2_ctrler_SILSInstanceStruct

typedef struct {
  SimStruct *S;
  ChartInfoStruct chartInfo;
  uint32_T chartNumber;
  uint32_T instanceNumber;
  int32_T c2_sfEvent;
  uint8_T c2_tp_No_Cruise;
  uint8_T c2_tp_Cruise;
  uint8_T c2_tp_Speed_Up;
  uint8_T c2_tp_Speed_Down;
  boolean_T c2_isStable;
  uint8_T c2_is_active_c2_ctrler_SILS;
  uint8_T c2_is_c2_ctrler_SILS;
  real_T c2_temp_pedal;
  real_T c2_remain_time;
  real_T c2_temporalCounter_i1;
  real_T c2_presentTime;
  real_T c2_elapsedTime;
  real_T c2_previousTime;
  real_T c2_Pedal_value_prev;
  real_T c2_Pedal_value_start;
  boolean_T c2_dataWrittenToVector[3];
  uint8_T c2_doSetSimStateSideEffects;
  const mxArray *c2_setSimStateSideEffectsInfo;
  real_T *c2_Pedal_value;
  real_T *c2_Cruise_cmd;
  real_T *c2_Modified_pedal_value;
} SFc2_ctrler_SILSInstanceStruct;

#endif                                 /*typedef_SFc2_ctrler_SILSInstanceStruct*/

/* Named Constants */

/* Variable Declarations */
extern struct SfDebugInstanceStruct *sfGlobalDebugInstanceStruct;

/* Variable Definitions */

/* Function Declarations */
extern const mxArray *sf_c2_ctrler_SILS_get_eml_resolved_functions_info(void);

/* Function Definitions */
extern void sf_c2_ctrler_SILS_get_check_sum(mxArray *plhs[]);
extern void c2_ctrler_SILS_method_dispatcher(SimStruct *S, int_T method, void
  *data);

#endif
